#include "UdpServer.hpp"
#include "Command.hpp"


//./server_udp localport
int main(int argc ,char* argv[])
{
    if(argc != 2)
    {
        std::cerr <<"Usage: "<<argv[0] << " localport" << std::endl;
        Die(USAG_ERR);
    }

    uint16_t port;
    // try
    // {
    // std::string ip = argv[1];
        port = std::stoi(argv[1]);
    // }
    // catch(const std::invalid_argument& e)
    // {
    //     std::cerr << "Invalid port number: " <<argv[1] << std::endl;
    //     Die(USAG_ERR);
    // }
    // catch(const std::out_of_range& e)
    // {
    //     std::cerr << "Port number out of range :" <<argv[1] <<std::endl;
    //     Die(USAG_ERR);
    // }
    ENABLE_CONSOLE_LOG();

    std::unique_ptr<UdpServer> svr_uptr = std::make_unique<UdpServer>(port);
    // std::unique_ptr<UdpServer> svr_uptr = std::make_unique<UdpServer>();

    svr_uptr->InitServer();
    svr_uptr->Start();

    return 0;
}
